A database is a structured collection of data and associated computer system components designed to provide a user access to meaningful information. A database is typically constructed upon a structural description of the information, referred to as a schema. The schema comprises a collection of meta-data that describes the relations among the data in the database.
The relational model for structuring databases is currently employed in many popular databases. In a typical relational database, a single database entry, referred to as a record, may contain one or more values, referred to as fields. Related records may be grouped together in a table, the definition of which controls the types of data each record may contain. Database records are often referred to as rows, because each record may be characterized as a row in a table. Individual fields are often referred to as columns, because field definitions are the same for each record within a table. A database may contain multiple tables, each of which may contain multiple rows and/or columns.
Common functionality made available to a user of a database system includes the ability to add data, delete data, update data, retrieve data, and generate data reports. Structured Query Language (SQL) commands are commonly deployed by database programmers and administrators to manipulate databases using such functions. Although SQL became a standard of the American National Standards Institute (ANSI) in 1986, and of the International Organization for Standardization (ISO) in 1987, revisions to supported SQL features has contributed to the problem that most SQL code is not completely portable among different database systems without adjustments. Consequently, custom SQL programming is often required to gain meaningful information out of a database that is unfamiliar to a user and/or for which goal-specific SQL programming has not already been developed.
SQL programming can be cumbersome and error prone, even to specially-trained database users. Consequently, certain advancements in the area of intermediate-level database interface tools have been made in the software industry. For example, data grids are effective, albeit somewhat crude, multipurpose database manipulation tools. Microsoft's® GridView view mode is commonly used to access data from any SQL-compliant relational database and display those data in a format characterized by horizontal rows representing each record, and vertical lines dividing each column (e.g., each field of the record). However, when the limited display capabilities of this tool are called upon to present multiple columns and/or long-width columns, the immediate visibility of the desired data is constrained and inefficient. Furthermore, augmenting simplistic grid-based tools with, for example, a user-friendly interface and/or user-specified data views requires expensive, situation-specific downstream database application programming, which precludes their development and use by other than users who are proficient in SQL command syntax.
A need exists for an alternative software tool for creating a stand-alone, user-directed interface to a database that may equip end users having varying levels of SQL literacy to access and present meaningful information from a database without having to resort to complex SQL programming.
While certain aspects of conventional technologies have been discussed to facilitate disclosure of the invention, the applicant in no way disclaims these technical aspects, and it is contemplated that the claimed invention may encompass one or more of the conventional technical aspects discussed herein. The present invention may address one or more of the problems and deficiencies of the current availability and prior art discussed above. However, it is contemplated that the invention may prove useful in addressing other problems and deficiencies in a number of technical areas. Therefore, the claimed invention should not necessarily be construed as limited to addressing any of the particular problems or deficiencies discussed herein, or limited to the particular embodiment for the invention used to illustrate the steps and functionality of the herein.
This background information is provided to reveal information believed by the applicant to be of possible relevance to the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present invention. This reference or discussion is not an admission that the document, act or item of knowledge or any combination thereof was at the priority date, publicly available, known to the public, part of common general knowledge, or otherwise constitutes prior art under the applicable statutory provisions; or is known to be relevant to an attempt to solve any problem with which this specification is concerned.